package com.ahdy.service;

import com.ahdy.entity.EmergencyContact;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 紧急联系人服务接口
 */
@Service
public interface EmergencyContactService {

    /**
     * 添加紧急联系人
     *
     * @param contact 紧急联系人实体
     * @return 新增联系人ID
     */
    Integer addEmergencyContact(EmergencyContact contact);

    /**
     * 更新紧急联系人
     *
     * @param contact 紧急联系人实体
     * @return 影响行数
     */
    int updateEmergencyContact(EmergencyContact contact);

    /**
     * 删除紧急联系人
     *
     * @param id 联系人ID
     * @return 影响行数
     */
    int deleteEmergencyContact(Integer id);

    /**
     * 根据ID查询紧急联系人
     *
     * @param id 联系人ID
     * @return 紧急联系人实体
     */
    EmergencyContact getEmergencyContactById(Integer id);

    /**
     * 根据老人ID查询紧急联系人列表
     *
     * @param elderlyId 老人ID
     * @return 紧急联系人列表
     */
    List<EmergencyContact> getEmergencyContactsByElderlyId(Integer elderlyId);

    /**
     * 根据老人ID查询主要紧急联系人
     *
     * @param elderlyId 老人ID
     * @return 主要紧急联系人实体
     */
    EmergencyContact getPrimaryEmergencyContactByElderlyId(Integer elderlyId);

    /**
     * 根据老人ID删除所有紧急联系人
     *
     * @param elderlyId 老人ID
     * @return 影响行数
     */
    int deleteEmergencyContactsByElderlyId(Integer elderlyId);

    /**
     * 根据老人ID和优先级获取紧急联系人列表
     *
     * @param elderlyId 老人ID
     * @param maxPriority 最大优先级
     * @return 紧急联系人列表
     */
    List<EmergencyContact> getEmergencyContactsByElderlyIdAndPriority(Integer elderlyId, Integer maxPriority);
}
